查看原文
其他

【综述专栏】GNN解耦表征论文汇总

在科学研究中,从方法论上来讲,都应“先见森林,再见树木”。当前,人工智能学术研究方兴未艾,技术迅猛发展,可谓万木争荣,日新月异。对于AI从业者来说,在广袤的知识森林中,系统梳理脉络,才能更好地把握趋势。为此,我们精选国内外优秀的综述文章,开辟“综述专栏”,敬请关注。

来源:知乎—jsdfclh
地址:https://zhuanlan.zhihu.com/p/405589389

近期在梳理GNN解耦表征相关的论文,也看了很多相关的文章,此处简单做个汇总记录。


01

准备知识

1. 解耦表征的定义

2013年 Bengio 在「Representation Learning: A Review and New Perspectives」一文中首次提出关于Disentangled Representation的观点:表征向量中某些维度的取值,只会随着与之对应的隐因子的变化而变化,并不会受其他隐因子的影响。

Single latent units are sensitive to changes in single generative factors, while being relatively invariant to changes in other factors.

说白了,解耦表征的目的是在满足一定条件的数据集上,将特征表征中的隐因子分解出来,这些隐因子彼此相互独立,且每个隐因子都代表一定的语义。当单个隐因子发生变化时,会导致学习到的表征中的隐因子对应维度上的变化,其他维度保持不变。

2. 解耦表征的意义

解耦表征学习旨在按照人类能够理解的方式从真实数据中对具有明确物理含义的生成因子(如类别、位置、外观、纹理等)进行解耦,并给出其所对应的独立潜在表示。具有如下意义:

每个隐因子蕴含特定的信息量,解耦出来的向量语义性和可解释性更强;

不同隐因子互相独立,单个因子的扰动不会受其他因子影响,鲁棒性更强;

相比较于entangled representation耦合了所有隐因子,高度依赖于特定任务。解耦出与不同任务相关的隐因子,更有利于迁移学习和小样本的学习。

3. 适用数据或模型

2019 年 Locatello 在「Challenging Common Assumptions in the Unsupervised Learning of Disentangled Representations」一文中提出观点:数据或模型不具备归纳偏置时,无监督解耦表征无法很好地学习,需要进一步通过监督信号来引导表征的解耦。


02

模型介绍

这一节将介绍GNN领域解耦表征相关的paper,主要包含两种解耦空间的划分方法。

通过非线性函数+归一化进行映射

因果逻辑

1. ICML 2019 DisenGCN

2019年崔鹏老师团队发表在ICML上的一篇关于节点解耦表征的paper。

http://proceedings.mlr.press/v97/ma19a/ma19a.pd

1.1 Motivation

真实世界图数据的生成,往往遵循着复杂且异质的过程,是由许多潜在因素共同驱动,且不同因素会造成不同的连边关系。例如,社交网络中,人与人的关系可能是同事关系或者同学关系等;电商平台中,用户的购买行为可能是出于个人兴趣或者给家人购买。而现有的GNN方法,在学习节点表征时,将邻域作为一个感知整体,忽视了决定图结构背后的隐因子,这样学到的节点表征缺乏对抗噪声的鲁棒性和可解释性。本文提出“邻域路由”机制,它能动态的确定哪些邻居节点是由某一隐因子决定的,相应的将这些节点输入某一channel完成信息抽取和卷积。

1.2 Problem Formulation

输入:图数据    ,每个节点  有对应的特征向量 
输出:节点的解耦表征 。其中,    是要解耦出来的隐因子数,  是解耦出来的第    个隐因子对应的表征向量。
与传统的GCN模型相同的是,本质也是从当前节点和邻域抽取出节点表征。即:

不同的是,    输出与    个隐因子一一对应的    段互相解耦的向量。问题的难点在于如何判断    的邻域中,哪些是由隐因子    驱动生成的。

1.3 Solution

这篇文章基于“邻域路由”机制设计了DisenConv Layer,网络层的输入是目标节点    的特征向量   及其邻域节点的特征向量    ,输出是节点    的解耦表征。
DisenConv包含    个channel,第    个channel的输出是与第    隐因子相关的向量表征。由于每个channel是随机初始化的,可以保证开始时,彼此是相互独的,而在参数训练过程中,由于邻域路由机制使得不同的channel接收到不同的监督信号,使得channel可以一直保持彼此互相独立。
具体的训练步骤如下:
step1 获取初始通道向量
将输入的节点特征向量    通过通过特定于channel的参数映射矩阵    非线性映射到该channel对应的空间下,并归一化:

step2 聚合邻域
这一阶段的核心任务是从节点    对应的    和节点    的邻域中受隐因子    影响的节点    中构建    。因此,模型需要判断所有邻域节点中哪些是由当前隐因子影响的。文章提出了“邻域路由”机制来解决这一问题。这一机制的提出基于两个假设:
假设一:如果隐藏因子    是节点    与其邻域节点的某个子集产生连边的原因,则它们将在第    个子空间中形成簇。这启发我们在从原始特征空间投影的    个子空间中寻找最大的聚类,通过聚类将与隐因子    无关的邻域自动剪枝。
假设二:隐因子    是节点    和邻居    产生连边原因的前提是两者在第    个子空间下足够相似。这启发我们通过    和    的点积快速判断是否存在由隐因子    驱动的连边。
假设二为假设一提供了强大的先验信息指导聚类,假设一为假设二在    和    缺乏隐因子    信息产生误导时进行适当纠错。两者是相辅相成的关系。
具体地,引入    来衡量节点    与目标节点    因隐因子    产生连边的置信度,并将其看成用节点    构建    的置信度。以迭代的方式,计算    和    。
首先,基于假设二初始化 
接着,基于假设一和二迭代搜索每个子空间中最大的簇,  :
最终,将    作为节点    对应于隐因子    的向量表征。
上述的更新过程与EM算法相似,文章通过在投影混合模型下建立“邻域路由”机制与概率推理的联系,从理论上分析了邻域路由机制的收敛性。(后续的论文大多遵循这一框架:初始化+计算贡献度+迭代更新)
对于每个channel都执行上述迭代过程,就能得到节点    的一阶解耦表征:

至此,DisenConv Layer就介绍完毕,通过叠加多层,DisenConv Layer生成多阶的解耦表征,递推公式为:

最后一层DisenConv Layer的输出,可以接不同的下游任务,实现端到端训练。

1.4 Conclusion

本文主要贡献有三点:
1. 提出了DisenGCN模型,学习图中节点的解耦表征;
2. 提出了”邻域路由“机制,推断每条连边产生的隐因子,并支持inductive learning;
3. 理论上证明了”邻域路由“机制的收敛性。
但是作者没有通过显式的约束保证不同channel的独立性,并且没有给出每个channel的语义信息,对于是否真正的解耦表征是存疑的。

2. SIGIR2020 DGCF

2020年何向南老师团队发表在SIGIR上一篇应用于推荐场景的节点解耦表征paper。
http://staff.ustc.edu.cn/~hexn/papers/sigir20-DGCF.pdf

2.1 Motivation

这篇文章主要是借鉴了上一篇2019ICML DisenGCN的工作,认为在推荐场景中,user与item交互行为产生是由多种意图驱动的,例如,兴趣、打发时间和帮家人购物等。传统的二部图表征模型中,以单一的耦合向量表征user与item,没有对行为产生背后的意图加以区分,导致学习到的向量表征无法很好的建模这种多意图交互关系。这篇文章的目的就是挖掘出细粒度的用户意图,使得用户和物品的向量表征可以表示不同的意图。

2.2 Problem Formulation

输入:二图数据   
输出: 和  ,其中  是表征函数,  、  ,将user、item表征向量划分为    段: 、  ,   、    与第    个意图关联,  、  。问题的难点在于如何挖掘隐意图以及如何基于挖掘出的隐意图生成节点的解耦表征。

2.3 Solution

模型设置  个意图,每个意图都对应一个子图,子图的连边关系与原图一样,不同的体现在权重上。在  个子图上分别学习user和item的向量表征,最后组合起来形成最终的嵌入。
与DisenGCN类似,作者将隐意图抽象在图数据中节点的连边上,并以迭代的方式生成节点的解耦表征:
step 1 :引入    个邻接矩阵来表示不同意图子图,基于子图来学习对应的表征;
step 2:使用第一步学习到的表征动态调整对应意图子图上边的权重。
此外,作者增加了不同意图表征之间的独立性约束,从而更好的实现向量的解耦。
下面介绍模型框架:
(1)Intent-Aware Embedding Initialization
首先对节点    个的embedding进行初始化。以user为例,记随机初始化的embedding为  。相应地,  。
其次,对意图子图的邻接矩阵进行初始化。记    在    个意图子图下权重构成的向量为  。初始化时,每个分量值为1,表明迭代开始时,不同隐意图对交互行为产生的影响是一样的。
(2)Graph Disentangling Layer
基于Message passing的思想,学习节点的表征:

其中,  是用户  的邻域集合。 
接下来是以user节点为例,介绍迭代式的解耦表征生成过程。
针对每条连边    ,根据    个意图子图的权重构成向量    ,并进行归一化转换成概率分布,来衡量不同意图对连边生成的影响。 

根据  计算message passing的decay系数(与NGCF论文中的衰减系数类似) 

邻域聚合时,仅使用邻域信息来更细目标节点的表征。 

基于新生成的向量,更新意图子图权重。

循环执行上述四个步骤    次,得到一阶Graph Disentangling Layer的输出第    个意图对应的解耦表征:  。而中间产物一阶的邻接矩阵,蕴含意图的语义信息,提供了解耦表征的可解释性。
当    个意图都执行完上述步骤,就能形成节点    一阶的解耦表征:

叠加    层,就能得到    阶的解耦表征    ,递推式为

最终用sum pooling的方式得到最终的user解耦表征:

值得强调的是,整个模型唯一的训练参数是0阶的随机初始化表征。
(3)Independence Modeling Module
利用独立性建模模块,显式的约束保证不同意图之间的独立性。具体实现上使用的是协方差相关性损失函数: 

在得到user和item的解耦表征后,使用BPR Loss和independence Loss完成端到端的训练。

2.4 Conclusion

本文细粒度的考虑user与item的多种多样的交互意图,并映射到了最终的解耦表征上。在参数不变的情况下,通过引入隐意图,提高了模型的泛化性。

3. CIKM2020 DisenHAN

2020年发表在CIKM上的一篇应用于推荐场景的异质图解耦表征的paper。
https://arxiv.org/pdf/2106.10879.pdf

3.1 Motivation

异质图能够对user和item交互行为中丰富的上下文信息进行建模,现已被广泛用于缓解推荐系统汇总的稀疏性和冷启动问题。然而,现有的异质图神经网络模型存在如下局限性:
交互行为的产生往往受多个角度的影响,现有的方法未能进行解耦;
现有的方法将元路径简化为辅助信息或连接路径,忽略了其对不同角度关系建模的贡献度。
上述两个问题,导致学习出的表征鲁棒性和解释性上存在不足,即它们不能明确地建模user对具有特定特征的item的偏好。因此,适合在 HIN 中学习解开的表示进行推荐。特别地,可以同时对user和item进行解耦表征,通过计算目标user和item在不同隐因子上的匹配分数,可以明确建模user对具有特定特征的item的偏好。
本文提出一种解耦异质图注意力网络模型,可以迭代地识别每个元关系的子空间权重,该权重可以被视为节点之间的语义相关性。对于每一层,我们结合一跳邻居信息。通过堆叠多个层,以捕获高阶连通性中的语义信息。所提出的注意力机制能够在多跳之外自动聚集相应的子空间信息,这可以被视为选择元路径的一种软方法。

3.2 Problem Formulation

输入:二图数据   和user、item上下文信息,例如用户之间的社交关系、商品品牌和类别
输出:user与item的解耦表征
将用户、项目及其上下文信息抽象为通过元关系连接的不同类型的节点,构建出一张异质图网络。问题的难点在于如何对异质图进行表征解耦表示学习。

3.3 Solution

现有的异质图表征学习会先按原路径学习表征,然后聚合不同原路径下的节点表征。这篇文章在学习异质图解耦表征时,分为了三个步骤:
首先,给定一个目标节点  ,通过元关系  的邻居进行分类,并将它们的属性投影到不同的子空间中去,以从不同的方面提取特征。
其次,对于每个元关系组,聚合每个子空间下的邻居特征来捕获特定的语义信息。
最后,将不同的元关系信息组合起来。
(1)Disentangled Content Transformation
与DisenGCN类似,将节点表征喂入DisenHAN layer前,先对节点的表征通过特定于隐因子的参数映射矩阵    非线性映射到该   个子空间中,并归一化。但是在 HIN 中,不同类型的节点总是具有来自不同特征空间的属性,每个类型的节点都有对应的映射矩阵。

其中  是节点类型为  的第    个子空间的参数,    也是做相同的变换。
(2)Disentangled Propagation Layer
对于目标节点    ,其邻居为  ,根据   与    之间不同的元关系  将    进行分组,得到  。对于每个元关系组,聚合每个子空间下的邻居特征来捕获特定的语义信息。最后将不同的元关系信息组合起来。
【step 1 Intra-relation Aggregation】聚合元关系组  内的语义信息。
首先,使用注意力机制学习邻居在不同子空间下的权重,所以邻居  在子空间    下对目标节点    的重要性为:

其中,  表示元关系  的注意力向量,  。
接着,不同的子空间对目标节点    的重要性也是不同的,将这两者结合起来得到最终邻居    的重要性:

其中,  是元关系  在子空间    下的权重。

【step 2 Inter-relation Aggregation】 聚合不同元关系的语义信息。
由于每个元关系会关注特定的子空间,让  表示在    这个子空间下,元关系  与目标节点    之间相关的概率。所以需要满足  和  。 的意思第    隐因子对元关系  的影响程度。

其中  表示元关系  的语义注意力向量, 可以反馈至元关系内的聚合以引导计算,可以看一下模型框架。
所以,我们最终可以得到    在    子空间下的表示:

最终    的表示为:  。
至此得到一阶的解耦表征,堆叠多层可得到高阶的表征。在得到异质图每种类型节点的解耦表征后,将user与item的表征服务于下游的推荐任务。
伪代码如下:

3.4 Conclusion

整个过程和DisenGCN类似,核心引入元关系和注意力机制解决异质图邻域聚合的问题。从实验结果上来看,在推荐任务上获得了sota的效果,但是模型引入的更多的训练参数,不知道是否需要更多的样本训练模型。

4. WWW2021 DICE

2021年发表在WWW的一篇应用于推荐业务中的基于因果推断逻辑的向量解耦paper。
http://staff.ustc.edu.cn/~hexn/papers/www21-dice.pdf

4.1 Motivation

user与item产生交互行为的背后存在2个原因:interest(兴趣偏好)和conformity(从众心理)。现有的解决此类流行度有偏的方法包括:
1. 根据item的流行度给样本设计权重
2. 利用一小部分无偏数据辅助学习
然而,这些方法并未将interest和conformity解耦,且忽视了用户的从众心理是各不相同的。此外,item流行度会随时间变化,所以上述的方法在可解释性和鲁棒性都存在缺陷。文章提出一个通用的框架:DICE(Disentangling Interest and Conformity with Causal Embedding)。特点:从结构上将interest和conformity表征学习解耦,即各自用特定的数据集训练;任意表征学习模型都可以集成。

4.2 Problem Formulation

输入:数据集  ,    是item的流行度,例如点赞、收藏等。输出:基于interest和conformity向量预测user对不同item的偏好

4.3 Solution

本文从user和item两个角度解决流行度偏差问题,将用户交互行为的产生拆解为由兴趣和从众心理两个因素驱动,并学习interest和conformity的解耦表征。这项工作主要面临三个挑战:

Variety of conformity:从众程度取决于user和item。一个用户对不同item的从众心理不同,不同用户对一个item从众心理也不同。仅从item角度简单的增加一项标量完成debias的方法不具有用户特异性。

方法:将单一的user和item向量,解耦interest和conformity两个向量

Learning disentangled representations is intrinsically hard:解耦表征学习缺乏监督信号,现有的数据集无法定量表示某个行为背后interest 的影响有多大。

方法:利用因果推理产生的碰撞效应来获得特定原因的数据。

Aggregation of the two factors is complicated:点击交互可以来自兴趣和从众心理的一个或两个原因。因此需要精心设计,以综合和平衡这两个原因。

方法:利用多任务课程学习将这两个原因结合起来。

模型分为三个阶段:

1. Causal Embedding,因果关系表征
2. Disentangled Representation Learning,解耦表征学习
3. Multi-task Curriculum Learning,多任务课程学
Causal Embedding (1)首先,利用加法模型从interest和conformity两个角度建模用户与item的交互。 

等式右边,前者是兴趣因素分,后者是流行度因素分。(2)其次,基于点击、兴趣和流行度的结构因果模型(SCM)和因果图,解耦interest和conformity embs。 

其中,int和con为因,click为果。特别地,也可通过将Xcon修改成某个特定值去人为干预,来实现用户群体的从众心理conformity。将f函数严格定义为内积,得到右边公式。Disentangled Representation Learning
(1)首先,拆分数据集。interest和conformity的分离意味着每一个embs只捕获一个因素,并将第二个因素挤出另一个embs。为了达到这个目标,一个合理的想法是用特定因素的数据来训练不同的嵌入。但是,当两个加数没有基本真值且只有求和可用时,它有无穷多个解。本文基于因果推理将等式扩展为不等式,利用不等式的相对关系学习int 和con的相对值而不是绝对值,这使得将int和con解耦变得可行。举例来说,学生通过考试=聪明+勤奋。A通过考试,但是并不聪明,那说明他勤奋的概率增加。B虽然很聪明但是未通过考试,那说明他很有可能不够勤奋。在我们解耦interest和conformity的任务中,可以利用碰撞效应来获得主要由一个原因引起的样本。根据正负样本的流行度拆分数据集O1 、O2。
case 1 (O1):The negative item is less popular than the positive item
在O1数据集,有理由相信用户出于流行度消费,学con和click
case 2 (O2): The negative item is more popular than the positive item
在O2数据集,有理由相信用户出于兴趣消费,学 int、con和click
其中,    和    分别是兴趣驱动分和流行度驱动分。
(2)其次,拆分训练任务。我们将解耦interest和conformity问题分解为Conformity Modeling、Interest Modeling、Estimating Clicks和Discrepancy Task四个任务。利用BPR对成对样本关系进行建模。每个正样本与一定数量的负样本配对,每个训练实例是一个包含用户ID、正样本itemID和负样本itemID的三元组。下面我们依次介绍这四个任务。
Conformity Modeling
Interest Modeling
Estimating Clicks
Discrepancy Task. 利用 一阶范数,二阶范数和协方差这三种计算方式约束con emb 和int emb要尽可能不相关。实验结果表示,协方差的效果最好但计算速度慢,不适合用于大规模的数据场景。
Multi-task Curriculum Learning 多任务课程学习

考虑到“正负样本的流行度差别越大,则结论可行度越高。”举例,如果正样本a比负样本b流行度低得多,则a更能体现用户兴趣。因此,文章设计PNSM(Popularity based Negative Sampling with Margin )控制正负样本的流行度差很多,即负样本流行度的区间是:
利用课程学习让模型学习过程由易到难。模型训练早期,让模型在可信度高的样本上训练, , 和 衰减因子为0.9。

4.4 Conclusion

文章出于鲁棒性和可解释性,论证在推荐任务中将用户的interest和conformity解耦的重要性,并且提出了一种模型无关的框架DICE,将user、item emb独立建模成两段 interest part 和 conformity part;基于因果推断,每段用特定的数据集训练。通过多任务学习和课程学习,平衡这两部分emb。

03

参考资料

https://zhuanlan.zhihu.com/p/303363880

https://zhuanlan.zhihu.com/p/399286095
https://zhuanlan.zhihu.com/p/392715993
http://staff.ustc.edu.cn/~hexn/slides/www21-DICE-slides.pdf
https://zhuanlan.zhihu.com/p/373941565

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“综述专栏”历史文章


更多综述专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存